﻿using System;
using System.Collections.Generic;
using System.Text;

using Danser_Control.ManagersImpl;

namespace Danser_Control.Managers
{
    /// <summary>
    /// Create management interfaces by demand
    /// </summary>
    public class ManagerFactory
    {
        #region Creating

        /// <summary>
        /// return a class implementing IDataManager interface
        /// </summary>
        /// <returns></returns>
        public static IDataManager DataManager()
        {
            return new DataManagerImpl();
        }

        /// <summary>
        /// return a class implementing IQueryManager interface
        /// </summary>
        /// <returns></returns>
        public static IQueryManager QueryManager()
        {
            return new QueryManagerImpl();
        }

        /// <summary>
        /// return a class implementing IUserManager interface
        /// </summary>
        /// <returns></returns>
        public static IUserManager UserManager()
        {
            return new UserManagerImpl();
        }

        /// <summary>
        /// return a class implementing IValidationManager interface
        /// </summary>
        /// <returns></returns>
        public static IValidationManager ValidationManager()
        {
            return new ValidationManagerImpl();
        }
        #endregion
    }
}
